package com.xiaoshuidi.cloud.module.rooms.service;

import com.xiaoshuidi.cloud.framework.common.pojo.PageResult;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.pricing.vo.*;

/**
 * 定价相关功能
 *
 * @Author Feng
 * @date 2023/5/16
 */
public interface IRoomPricingService {

    /**
     * 设置房型价格
     *
     * @param req
     * @return
     */
    boolean setLayoutPricing(SetLayoutPricingReq req);

    /**
     * 房源定价列表
     *
     * @param req
     * @return
     */
    PageResult<RoomHousePricingPageResp> roomHousePricingPage(RoomHouseRicingPageReq req);

    /**
     * 分散式房源/集中式房间定价
     *
     * @param req
     * @return {@link Boolean}
     */
    Boolean setHousePricing(SetHousePricingReq req);

    /**
     * 空间定价列表
     *
     * @param req
     * @return
     */
    PageResult<RentalSpacePricingPageResp> rentalSpacePricingPage(RentalSpacePricingPageReq req);

    /**
     * 设置空间定价
     *
     * @param req
     * @return
     */
    Boolean setRentalSpacePricing(SetRentalSpacePricingReq req);

    /**
     * 房源定价导出
     *
     * @param req
     * @return
     */
    HousePricingExportResp housePricingExport(HousePricingExportReq req);

    /**
     * 房源定价模板导出
     *
     * @param req
     * @return
     */
    HousePricingExportResp housePricingTemplateExport(HousePricingExportReq req);


    /**
     * 空间定价导出
     *
     * @param req
     * @return
     */
    String spacePricingExport(RentalSpacePricingExportReq req);

    /**
     * 房源定价导入
     *
     * @param apartmentId
     * @param fileUrl
     * @return
     */
    Boolean housePricingImport(Long apartmentId, Boolean isConcentrated, String fileUrl);
}

